package com.shxy.service;

import com.shxy.controller.ui.Pageable;
import com.shxy.entity.news.NewsCatagory;
import com.shxy.entity.news.NewsContent;
import com.shxy.entity.news.NewsInCatagory;
import com.shxy.entity.news.NewsInfo;
import com.shxy.service.bean.NewsBean;

import javax.transaction.Transactional;
import java.util.List;
import java.util.Optional;

/**
 * 新闻管理接口
 */
public interface INewsService {
    /**
     * 根据编号查询新闻
     * @param id
     * @return
     */
    @Transactional
    Optional<NewsInfo> getById(String id);

    /**
     * 保存新闻
     * @param newsInfo
     * @param content
     * @return
     */
    @Transactional
    Optional<NewsInfo> save(NewsInfo newsInfo, String content);

    /**
     * 查询分页的新闻列表
     * @param page
     * @param size
     * @return
     */
    Pageable<NewsBean> getList(int page, int size);

    /**
     * 将新闻放入分类栏目
     * @param newsInfo
     * @param nc
     * @return
     */
    NewsInCatagory saveNewsInCatagory(NewsInfo newsInfo, NewsCatagory nc);

    /**
     * 查询栏目新闻列表
     * @param catagoryId
     * @return
     */
    Pageable<NewsBean> getNewsOfCatagory(String catagoryId, int page, int size);

    /**
     * 获取栏目列表
     * @return
     */
    List<NewsCatagory> getCatagoryList();
}
